A GPS engine is a subsystem used generally by mobile devices and mobile tracking devices, for determining a location of the associated device. The GPS engine may include a data processor and receiver capable of receiving GPS satellite signals and producing an estimate of the position of the receiver. The GPS engine may include dedicated memory and/or work using non-dedicated memory. Also, the engine may run using an external processor to assist in or perform the estimation. When the GPS engine outputs a set of determined coordinates, based on processed signals received by way of its antenna, it is said to have yielded or obtained a position fix or simply a fix. As used herein, “yielding” and “obtaining” a GPS fix are used interchangeably. A GPS position fix (that is characterized by accuracy and uncertainty) is provided by the GPS engine with or without network assistance. The network may provide timing and additional information (i.e., almanac and/or ephemeris).
The power demands of mobile devices with GPS functionality, particularly those used to monitor whether the device is inside or outside a geographic boundary (referred to herein as a “geofence monitoring”), tend to mean they experience a reduced battery life when they are maintained in an active monitoring state. The fact that a GPS signal may often not be available, yet the device is maintained in an active monitoring state contributes to excess power consumption. For example, a device in an active geofence monitoring state may experience a battery life of 1-2 days, even though the battery life prediction for such devices is around 4 days. A device will generally consume a very high amount of energy while operating a GPS engine in an active monitoring state, particularly when the device is repeatedly not yielding a GPS fix.